package modelo;

import java.sql.*;

public class Conexion {
    private static String driver = "org.postgresql.Driver";
    private static String url = "jdbc:postgresql://localhost:5432/";
    private static String bd = "BD1-2";
    private static String usuario = "postgres";
    private static String password = "{x0x0x0}";
    
    private static Connection conexion;
    
    private static Connection getConexion() {
    	try {
    		if (conexion == null || conexion.isClosed()) {	        
	            Class.forName(driver);
	            conexion = DriverManager.getConnection(url + bd, usuario, password);
	        }
    	} catch(SQLException e) {
        	e.printStackTrace();
        } catch (ClassNotFoundException e) {
        	e.printStackTrace();
		}
        
        return conexion;
    }

    public static ResultSet consultar(String tiraSQL) {
    	getConexion();
        ResultSet resultado = null;
        
        try {
            Statement sentencia = conexion.createStatement();
            resultado = sentencia.executeQuery(tiraSQL);            
        } catch(Exception e) {
            e.printStackTrace();
        }
        
        try {  
        	conexion.close();            	
        } catch (SQLException e) {
        	e.printStackTrace();
        }
        
        return resultado;
    }

    public static boolean ejecutar(String tiraSQL) {
    	getConexion();
    	
        boolean ok = false;
        
        try {
            Statement sentencia = conexion.createStatement();
            if (sentencia.executeUpdate(tiraSQL) > 0) ok = true;
            sentencia.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    	try {  
    		conexion.close();
        } catch (SQLException e) {
        	e.printStackTrace();
        }
        
        return ok;  
    }
}
